/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						       dialog_necromancy.h

	$Header: /game/dialog_necromancy.h $

	$NoKeywords: $

 ************************************************************************/

#ifndef DIALOG_NECROMANCY_H_INCLUDED
#define DIALOG_NECROMANCY_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "bitmap_group_ptr.h"
#include "creature_array.h"
#include "dialog_box.h"

// --------------------------------------------------------------------
// dialog to display resurrection, summoning, and necromancy results
// --------------------------------------------------------------------
class t_dialog_necromancy : public t_dialog_box
{
public:
	t_dialog_necromancy( t_window* parent );

	void open();
	void set_necromancy( t_hero* necromancer, t_creature_stack* creatures );
	void set_resurrection( t_hero* priest, t_creature_array const& creatures );
protected:
	void create_item( t_screen_point const&	origin,
		 		      std::string const&	keyword,
					  t_skill_type			skill_type,
					  t_hero const*			hero,
					  std::string const&    label_text );
	void create_item( t_screen_point const&	    origin,
				      std::string const&		keyword,
					  t_skill_type				skill_type,
					  t_hero const*				hero,
					  t_creature_stack const*	creature, 
				      std::string const&        label_text );
	void create_necromancy( t_screen_point const& origin );
	void create_resurrection( t_screen_point const& origin );

	t_bitmap_group_ptr		m_layout;
	t_hero*					m_necromancer;
	t_creature_stack_ptr	m_necromancy_creatures;
	t_hero*					m_priest;
	t_creature_array const* m_resurrected_creatures;
	t_bitmap_group_ptr		m_skill_frame;
};

#endif // DIALOG_NECROMANCY_H_INCLUDED